package cn.imnaer.service.rpc.scenic.process;

public class ScenicComponentProcess {

//    private static ScenicDbHelper scenicDbHelper = ScenicDbHelper.getInstance();
//
//    public static HashMap<String, Scenic> getScenicByIdList(
//            DBAccessAPIHelp APIHelp, List<String> scenicIdList) {
//        HashMap<String, Scenic> hashMap = new HashMap<String, Scenic>();
//        BSONObject query = new BasicBSONObject();
//        BSONObject arr = new BasicBSONList();
//        for (String scenicId : scenicIdList) {
//            int i = 0;
//            BSONObject mather = new BasicBSONObject();
//            mather.put(SCENIC.scenicId, scenicId);
//            arr.put(String.valueOf(i), mather);
//            i++;
//        }
//        query.put("$or", arr);
//        List<BSONObject> list = scenicDbHelper.getObjects(query, null);
//        try {
//            for (BSONObject bsonObject : list) {
//                Scenic scenic = bsonObject.as(Scenic.class);
//                hashMap.put(scenic.getScenicId(), scenic);
//            }
//        } catch (Exception e) {
//            // TODO Auto-generated catch block
//            e.printStackTrace();
//        }
//        return hashMap;
//
//    }
//
//    public static List<ScenicView> getScneicListByFilter(
//            Filter filter, int page) {
//        List<ScenicView> simpleScenicList = new ArrayList<ScenicView>();
//        if (filter.cityCode == null || filter.cityCode.isEmpty()) {
//            return simpleScenicList;
//        }
//        BSONObject query = new BasicBSONObject();
//        query = setQueryParmas(query, filter);
//        BSONObject order = new BasicBSONObject();
//        order = setOrderParmas(order, filter);
//        try {
//            BSONObject selector = BasicBSONObject.typeToBson(new ScenicView());
//            List<BSONObject> list = ScenicDbHelper.getInstance().queryObejctsPerPage(query, selector, order, page);
//            for (BSONObject bsonObject : list) {
//                simpleScenicList.add(bsonObject.as(ScenicView.class));
//            }
//        } catch (Exception e) {
//
//            e.printStackTrace();
//        }
//        return simpleScenicList;
//    }
//
//
//    /**
//     * @param query
//     * @param filter
//     * @return
//     */
//    public static BSONObject setQueryParmas(BSONObject query, Filter filter) {
//        if (filter.cityCode != null && !filter.cityCode.isEmpty()) {
//            query.put(SCENIC.cityCode, filter.cityCode);
//        }
//        if (filter.countryCode != null && !filter.countryCode.isEmpty()) {
//            query.put(SCENIC.countryCode, filter.countryCode);
//        }
//        if (filter.stateCode != null && !filter.stateCode.isEmpty()) {
//            query.put(SCENIC.stateCode, filter.stateCode);
//        }
//        if (filter.continentCode != null && !filter.continentCode.isEmpty()) {
//            query.put(SCENIC.continentCode, filter.continentCode);
//        }
//        if (filter.type != null && !filter.type.isEmpty()) {
//            query.put(SCENIC.type, filter.type);
//        } else {
//            query.put(SCENIC.type, Scenic.PLAY);
//        }
//        if (filter.scoreFilter != null && !filter.scoreFilter.isEmpty()) {
//            BSONObject mather = new BasicBSONObject();
//            mather.put(MatchConst._GTE, filter.scoreFilter);
//            query.put(SCENIC.score, mather);
//        }
//        return query;
//    }
//
//    public static BSONObject setOrderParmas(BSONObject order, Filter filter) {
//        System.out.println(JacksonUtil.beanToJson(filter));
//        if (filter.sort == null || filter.sort.isEmpty()) {
//            filter.sort = FILTER.SORT_BY_SCORE;
//        }
//        switch (filter.sort) {
//            case FILTER.SORT_BY_SCORE:
//                order.put(SCENIC.score, -1);
//                break;
//            case FILTER.SORT_BY_COLLECT:
//                order.put(SCENIC.collectCount, -1);
//                break;
//            default:
//                order.put(SCENIC.collectCount, -1);
//                break;
//
//        }
//        return order;
//    }


}
